//当前这个模块：API进行统一管理
// 引入二次封装的axios(带有请求，响应的拦截器)
import { date } from 'joi';
import requests from './ajax';
import mockRequests from './mockAjax'



//三级联动接口  
//暴露这个函数，外面拿到这个函数，直接调用，就能发送请求获取数据了
// export const reqCategoryList = ()=>{
//     //返回的结果是promise对象 当前函数执行需要把服务器返回结果进行返回
//     return requests({
//         url:'/product/getBaseCategoryList',
//         method:'get'
//     })
// }

// 三级菜单的请求地址 /api/product/getBaseCategoryList GET 没有任何参数
// 对外暴露一个函数，只要外部调用这个函数，就向服务器发起ajax请求、获取咋们的三级菜单数据。当前咋们这个函数只需要把服务器返回结果即可
export const reqCategoryList=()=>requests.get(`/product/getBaseCategoryList`)
// 切记：当前函数执行需要把服务器返回结果返回

// 获取banner(Home首页轮播图接口)
export const reqGetBannerList=()=>mockRequests.get('/banner')

// 获取floor数据
export const reqFloorList=()=>mockRequests.get('/floor')

// 获取userAddress数据
export const reqAddressInfo=()=>mockRequests.get('/userAddress')

// 获取搜索模块数据 地址：/api/list 请求方式：post 参数：需要带参数
// {
//     "category3Id":"61",
//     "categoryName":"手机"，
//     "keyword":"小米"，
//     "order":"1:desc",
//     "pageNo":1,
//     "pageSize":10,
//     "props":["1:1700-2799:价格","2:6.65-6.74英寸：屏幕尺寸"],
//     "tradeamrk":"4:小米"
// }
// 当前这个函数需不需要接受外部传递参数
// 当前这个接口，给服务器传递参数params，【至少是一个空对象】
export const reqGetSearchInfo=(params)=>requests({url:"/list",method:"post",data:params})

// 获取产品详情信息的接口 URL：/api/item/{skuId} 请求方式：get
export const reqGoodsInfo=(skuId)=>requests({url:`/item/${skuId}`,method:'get'});

// 将产品添加到购物车中（获取更新某一个产品的个数）
// api/cart/addToCart/{skuId}/{skuNum} POST
//将产品添加到购物车中（获取更新某一个产品的个数）
export const reqAddOrUpdateShopCart =(stuId,skuNum) =>requests(
    {
        url:`/cart/addToCart/${stuId}/${skuNum}`,
        method:'post'
    }
)

//获取购物车列表数据接口
// URL：/api/cart/cartList method:get
export const reqCartList=()=>requests({url:'/cart/cartList',method:'get'});

//删除购物产品的接口
// URL:/api/cart/deleteCart/{skuId} method:DELETE
export const reqDeleteCartById=(skuId)=>requests({url:`/cart/deleteCart/${skuId}`,method:'delete'});

// 修改商品的选中状态
// URL:/api/cart/checkCart/{skuId}/{isChecked} method:get
export const reqUpdateCheckById=(skuId,isChecked)=>requests({url:`/cart/checkCart/${skuId}/${isChecked}`,method:'get'});

// 获取验证码
// URL:/api/user/passport/sendCode/{phone} method:get
export const reqGetCode=(phone)=>requests({url:`/user/passport/sendCode/${phone}`,method:'get'});

// 注册
// url:/api/user/passport/register method:post phone code password
export const reqUserRegister=(data)=>requests({url:'/user/passport/register',data,method:'post'});

// 登录
// URL:/api/user/passport/login method:post phone password
export const reqUserLogin=(data)=>requests({url:'/user/passport/login',data,method:'post'})

// 获取用户信息【需要带着用户的token向服务器要用户信息】
// URL：/api/user/passport/auth/getUserInfo method:get
export const reqUserInfo=()=>requests({url:'/user/passport/auth/getUserInfo',method:'get'})

// 退出登录
// URL:/api/user/passport/logout get
export const reqLogout=()=>requests({url:'/user/passport/logout',method:'get'})

// 获取用户地址信息
// URL:/api/user/userAddress/auth/findUserAddressList method:get
// export const reqAddressInfo=()=>requests({url:'/user/userAddress/auth/findUserAddressList',method:'get'});

// 获取商品清单
// URL:/api/order/auth/trade method:get
export const reqOrderInfo=()=>requests({url:'/order/auth/trade',method:'get'});

// 提交订单的接口
// URL:/api/order/auth/submitOrder?tradeNo={tradeNo} method:post
export const reqSubmitOrder = (tradeNo,data)=>requests({url:`/order/auth/submitOrder?tradeNo=${tradeNo}`,data,method:'post'});

// 获取支付信息
// URL:/api/payment/weixin/createNative/{orderId} GET 
export const reqPayInfo=(orderId)=>requests({url:`/payment/weixin/createNative/${orderId}`,method:'get'});

// 获取支付订单状态
// URL:/api/payment/weixin/queryPayStatus/{orderId} get
export const reqPayStatus=(orderId)=>requests({url:`/payment/weixin/queryPayStatus/${orderId}`,method:'get'});

// 获取个人中心的数据
// api/order/auth/{page}/{limit} get 
export const reqMyOrderList=(page,limit)=>requests({url:`/order/auth/${page}/${limit}`,method:'get'});
